package org.mspring.platform.security.dao;

import java.util.List;

import org.mspring.platform.dao.hibernate.IGenericDao;
import org.mspring.platform.security.entity.TreeItem;

/**
 *
 * @author Gao Youbo
 * @since 2014-01-11
 */
public interface TreeItemDao extends IGenericDao<TreeItem, String> {

    /**
     * 根据角色查询
     *
     * @param roleId
     * @return
     */
    public List<TreeItem> listByRole(long roleId);

    /**
     * 清空
     */
    public void clear();

    /**
     * 加载树形菜单，Type为TreeItem.Type.TREE_FOLDER, TreeItem.Type.TREE_ITEM
     *
     * @param userId
     * @return
     */
    public List<TreeItem> listTreeByUser(long userId);

    /**
     * 获取TreeItem下的Tab页签
     *
     * @param parent
     *            父树形节点
     * @param userId
     *            用户编号
     * @return
     */
    public List<TreeItem> listTabByUser(String parent, long userId);

    /**
     * 获取设置为open的tab页签
     *
     * @param parent
     *            父树形节点
     * @param userId
     *            用户编号
     * @return
     */
    public List<TreeItem> listOpenTabByUser(String parent, long userId);

}
